package com.abner.design.patterns.adapter.interfaceadapter;

/**
 * 适配器介绍:
 * 		1) 适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示，
 * 			主的目的是兼容性，让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)
 * 		2) 适配器模式属于结构型模式
 * 		3) 主要分为三类：类适配器模式、对象适配器模式、接口适配器模式
 *
 * 接口适配器介绍:
 * 		1)一些书籍称为：适配器模式(Default Adapter Pattern)或缺省适配器模式。
 * 	    2) 核心思路：当不需要全部实现接口提供的方法时，可先设计一个抽象类实现接口，并为该接口中每个方法提供一个默认实现（空方法），
 * 	      那么该抽象类的子类可有选择地覆盖父类的某些方法来实现需求
 * 		3) 适用于一个接口不想使用其所有的方法的情况
 *	注意事项和细节:
 *		1) 三种命名方式，是根据 src 是以怎样的形式给到 Adapter（在 Adapter 里的形式）来命名的。
 * 		2) 类适配器：以类给到，在 Adapter 里，就是将 src 当做类，继承
 * 		   对象适配器：以对象给到，在 Adapter 里，将 src 作为一个对象，持有
 * 		   接口适配器：以接口给到，在 Adapter 里，将 src 作为一个接口，实现
 * 		3) Adapter 模式最大的作用还是将原本不兼容的接口融合在一起工作。
 * 		4) 实际开发中，实现起来不拘泥于我们讲解的三种经典形式
 * @author abner
 */
public class Client {

	public static void main(String[] args) {
		
		AbsAdapter absAdapter = new AbsAdapter() {
			@Override
			public void m1() {
				System.out.println("m1");
			}

		};
		
		absAdapter.m1();
		absAdapter.m5();
	}
}
